<?php

    function controleFormulaire ($variablePost)
    {
        $conteneurFiltrerElementsFormulaire = array();
        $verificationEtatChamps = array();

        //On parcourt l'ensemble du formulaire
        foreach ($_POST as $cleFormulaire => $elementFormulaire)
        {
            if (isset($elementFormulaire))
            {
                $decoupageChampFormulaire = explode('_', $cleFormulaire);
                if ($decoupageChampFormulaire[0] == 'ftexte')
                {
                    $resultatAnalyse = filter_var($elementFormulaire, FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => "/^[a-zA-Z0-9'\"éèç^à\/ -]+$/")));
                    
                    if ($resultatAnalyse === FALSE)
                    {
                        $verificationEtatChamps[] = FALSE;
                    }
                    else
                    {
                        $conteneurFiltrerElementsFormulaire[] = $resultatAnalyse;
                    }
                }
                else if ($decoupageChampFormulaire[1] == 'fliste')
                {
                    $conteneurFiltrerElementsFormulaire[] = $elementFormulaire;
                }
                else
                {
                    $conteneurFiltrerElementsFormulaire[] = htmlspecialchars($elementFormulaire);
                }
            }
            else
            {
                //Sinon le formulaire n'est pas correctement soumis (au moins champ vide).
                $verificationEtatChamps[] = FALSE;
            }
        }
        
        //Si le formulaire n'est pas correctement soumis alors on renvoit false.
        if (in_array(FALSE, $verificationEtatChamps))
        {
            return FALSE;
        }
        else
        {
            return $conteneurFiltrerElementsFormulaire;
        }
    }
    
?>

